iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
自我挑戰組

30天建構出一個簡單 LineBot 機器人系列 第 19

DAY 19 Python基本語法(上篇)

  • 分享至 

  • xImage
  •  

由於寫LineBot會運用到許多Python語法,所以跟大家介紹一下Python基本語法吧~

輸入輸出

在Python中「print()」為輸出方法

a = 1
print(a)     #得到結果 1

在Python中「input()」為輸入方法

age=input("請輸入age:  ")
b="I'm " + age + " years old"

print(b)    #得到I'm 18 years old 依輸入年齡不同

資料型別

使用type查看整數的「型別」,可以知道資料的型別。

int 整數
整數 integer,表示沒有分數或小數點的十進位數字。
如果整數的運算會產生小數點,結果就會轉換成浮點數。

type(5)        # int
3 + 2          # 5
3 + 2 * 2      # 7
( 3 + 2 ) * 2  # 10
type(3/2)      # float

如果想讓一個數值等於「整數」,可以使用「int 函式」來進行型態的轉換
int函式會將小數點的部分無條件捨棄、將數字字串轉換成數字或將布林值轉換成1或0。

int(5.1)   # 5
int(9/2)   # 4
int('5')   # 5
int('+2')  # 2
int(True)  # 1
int(False) # 0

float 浮點數
浮點數 float,表示包含小數點的十進位數字,
只要數值包含了小數點,就算是 1.0 或 0.0,也是「浮點數 float」的型別。

type(5.1)     #float
type(1.0)     #float
type(0.0)     #float
1.0 + 5       # 6.0
1.0 + True    # 2.0
1.0 + False   # 1.0

底數
底數是在數字的前方,加入 0b、0o 或 0x 的底數,來表示二進制、八進制或十六進制的數字,在「位元級」的模式下,往往是使用二進制、八進制或十六進制進行操作。為較不常用到的資料型別。

  • 底數 0b 或 0B 代表二進制
  • 底數 0o 或 0O 代表八進制
  • 底數 0x 或 0X 代表十六進制
0b1111 # 15 ( 二進制 )
0o1111 # 585 ( 八進制 )
0x1111 # 4369 ( 十六進制 )

Boolean 布林值
「布林 Boolean」只有 True 和 False 兩個值,通常 True 可以表示為 1,Fasle 可以表示為 0,透過特殊函示 bool() 可以將任何資料型態轉換成布林,布林主要運用在邏輯判斷中,可以根據得到的布林值,作出對應的動作

「非 0 數字」會轉換為 True,「0 值數字」會轉換為 False

bool(True)   # True
bool(1)      # True
bool('ok')   # True
bool(-1)     # True
bool(False)  # False
bool(0)      # False
bool(0.0)    # False

String 字串

  1. 建立字串
    將字元放在一對「單引號」或「雙引號」裡,即為一個Python字串。
print("hello")  # hello
print('hello')  # hello
  1. 多行字串
    若為多行字串(文字很多且會換行)時則可將多行字串,放在「連續三個」單引號或雙引號裡,就會原封不動的印出結果。
a = """Millions of developers and companies build,
ship, and maintain their software on GitHub—the
largest and most advanced development platform
in the world."""

print(a)
  1. 型別轉換
    可以使用「str()」,將資料轉換成字串,下方的範例程式將數字123轉換為字串 123。
a = str(123)
print(a)   #'123'
  1. 轉義字元
    賦予其特殊意義,常用的轉義字元有下面幾種:
  • 「\」 ( 放在一行結尾 ) 為接續下一行
  • 「\」 為顯示反斜線
  • 「'」 為顯示單引號
  • 「"」 為顯示雙引號
  • 「\b」 為刪除前一個字元
  • 「\n」 為換行,最為常用
  • 「\t」 為tab 鍵
a = 'hello "World", my name is \'oxxo\', \\_\\'
# hello "World", my name is 'oxxo', \_\

a = 'hello World,\nmy name is oxxo,\nhow are you?'
# hello World,
# my name is oxxo,
# how are you?
  1. 字串連接
    如果要將兩個字串連接起來需使用+號
first_name = "Mike"
last_name = "Ku"
print("Hi,my name is " + first_name + " " + last_name + ".")
#Hi,my name is Mike Ku.
  1. 字串格式化
    Python提供了簡潔的字串格式化語法,來達到與字串連接相同效果。使用方式就是在字串的前方加上f或 F前綴字,接著在 {} 符號中,傳入變數或運算式,Python會將 {} 中的變數資料或運算結果帶出來。
first_name = "Mike"
last_name = "Ku"
print(f"Hi,my name is " {first_name } {last_name}.")
print(f"I'm { 20 + 8 } years old.")
#Hi,my name is Mike Ku.
#I'm 28 years old.
  1. 字串裁切
    若想從原字串取出想要的部分需使用字串裁切,以存取字串中特定位置的字元,在Python中使用 [] 符號,並傳入索引值。特別注意索引值由0開始計算。若想取得字串的最後一個字元則索引值由-1開始計算。
blog_name = "Learn Code With Mike"
print(blog_name[0])    #L
print(blog_name[-1])   #e

以上範例皆為取得單一字元。若要取得部分字串的方式,則使用 [:] 符號,分別傳入起始索引值及結束索引。若頭尾省去未填入值則以開頭或最後一個字元為預設。

blog_name = "Learn Code With Mike"
print(blog_name[6:10])    #Code
print(blog_name[6:])      #Code With Mike
print(blog_name[:10])     #Learn Code
print(blog_name[:])       #Learn Code With Mike

其他常見內建字串方法

  • upper():將字串轉為大寫字母。
  • lower():將字串轉為小寫字母。
  • capitalize():將字串的首字轉為大寫字母。
  • title():將字串中的每個單字字首轉為大寫字母。
  • len():取得字串的文字總數。最為常用。
blog_name = "Learn Code With Mike"
print(blog_name.upper())         #LEARN CODE WITH MIKE
print(blog_name.lower())         #learn code with mike
print(blog_name.capitalize())    #Learn code with mike
print(blog_name.title())         #Learn Code With Mike
print(blog_name.len())           #20

下篇繼續和各位介紹更進階的語法觀念(❁´◡`❁)


上一篇
DAY 18 Postback event
下一篇
DAY 20 Python基本語法(下篇)
系列文
30天建構出一個簡單 LineBot 機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言